____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―
MOS Technology VDC
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
top
Der MOS Technology VDC (Video Display Controller) ist ein Video Display Controller, der fΓΌr die 80-Zeichen-Ausgabe im Commodore C128 zustΓ€ndig ist. Er wird an einen Monitor mit RGBI-Eingang (z. B. CGA-Bildschirme) angeschlossen. UrsprΓΌnglich wurde der VDC fΓΌr den CBM 900 entwickelt, ein Computersystem mit einer Zilog Z8001-CPU. Es wurden zwei nicht vollstΓ€ndig kompatible Versionen produziert, der 8563 und der 8568. Der Chip verfΓΌgt ΓΌber ein eigenes Video-RAM, dieses ist in den alten C128-Versionen 16 KB groΓ, im neueren C128DCR 64 KB, jedoch kΓΆnnen beide 64 KB adressieren. Der Chip wird asynchron zum Rest des Computers getaktet.
Contents
β’ Technische Daten
β’ Weblink
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Technische Daten
β’ 16 oder 64 KB Speicher
β’ 16 Farben (RGBI)
β’ Grafik-AuflΓΆsung 640 Γ 200 Pixel, bei 64-KB-Version auch erweiterbar auf 800 Γ 240 bzw. 480 (Interlaced) Pixel
β’ Textmodus mit 80 Zeichen Γ 25 Zeilen, variierbar je nach ZeichengrΓΆΓe
β’ 2 ZeichensΓ€tze Γ 256 Zeichen gleichzeitig nutzbar
β’ ZeichengrΓΆΓe 2 bis 32 Rasterzeilen Γ 8 Pixel Breite
β’ 1 bildschirmweite Hintergrundfarbe, 1 Vordergrundfarbe pro Zeichen und 4 Attribute (invertiert, blinkend, unterstrichen, Zeichensatz 1 oder 2)
β’ Farbzellen im Bitmap-Modus von 8 Pixeln Breite und 2 bis 32 Pixeln HΓΆhe, jede Zelle kann eine eigene Vorder- und Hintergrundfarbe benutzen.
β’ Hardware-Textcursor
β’ FΓ€higkeit zum Verschieben von bis zu 256 Bytes groΓen DatenblΓΆcken
β’ Horizontales und vertikales Hardware Scrolling
Programmierung des VDC
Der VDC verfΓΌgt ΓΌber 36 (8563) bzw. 37 (8568) interne Register. Register 37 kam beim 8568 hinzu, wodurch der Refresh schneller getaktet werden konnte als bei seinem VorgΓ€nger. Erreichbar sind die internen Register nur indirekt ΓΌber zwei Speicherzellen im Ein/Ausgabe-Bereich an den Hexadezimal-Adressen $D600 und $D601. In Adresse $D600 wird angegeben, welches Register man ansprechen will, in Adresse $D601 wird dann das angesprochene Register ausgelesen oder beschrieben. Dabei muss man warten, bis Bit 7 von $D600 gesetzt ist. Beim C128 geht dies am einfachsten mit den folgenden beiden Betriebssystemfunktionen (auch in Basic):
β’ $CDCC (Wert im Akku ins VDC-Register X schreiben)
β’ $CDDA (Wert des VDC-Registers X in den Akkumulator holen)
Die Adresse $D600 hat noch weitere Bedeutungen, beim Auslesen erhΓ€lt man:
β’ Bit 7 = Statusbit: Hier erfΓ€hrt man, ob der VDC mit seiner letzten Arbeit fertig ist (0 = fertig).
β’ Bit 6 = Lichtgriffel (Lightpen)
β’ Bit 5 = Kathodenstrahl-RΓΌcklauf: 1 = RΓΌcklauf.
Die anderen Bits sind nicht belegt.
Weblink